// pages/profile/index.js
const pageStack = getCurrentPages()

Page({
  getUserAvatar(ev){ 
    this.updateImage(ev.detail.avatarUrl)
   },
  // 获取用户昵称
  getUserNickname(ev) {
    // 更新昵称
  this.updateNickname(ev.detail.value)
  },
  onShow(){
    const app=getApp()
    console.log(app);
    this.setData({...app.userProfile})
  },
  // 更新昵称接口
  async updateNickname(nickName) {
    if(nickName === '') return
    // 调用接口更新用户昵称
    const {code} = await wx.http.put('/userInfo', {nickName})
    // 检测接口是否调用成功
    if(code !== 10000) return wx.utils.toast('更新昵称失败!')
     // 借助于页面栈实例来更新 pages/my/index.wxml 中的昵称
     pageStack[0].setData({nickName})
     const app=getApp()
     this.setData({nickName:app.userProfile.nickName})
  },
  updateImage(avatar){
     // 调用 API 上传文件
     wx.uploadFile({
      url: wx.http.baseURL+'/upload',
       filePath: avatar,//路径等于图片地址
       name: 'file',//上传的是文件
       header:{
        //检查用户登录状态
        Authorization:'Bearer ' + getApp().token
       },
       formData:{type:'avatar'},
      success:(result)=>{
        //处理返回的数据
        const data=JSON.parse(result.data)
        if(data.code !==10000)return wx.utils.toast('更新图片失败')
        this.setData({avatar:data.data.url})
      }
     })
     const app=getApp()
     this.setData({avatar:app.userProfile.avatar})
  }
})